import { ColorMap } from './types';

const semanticColors = {
  accentButtonBackground: 'palette.themePrimary',
  accentButtonText: 'palette.white',
  actionLink: 'palette.neutralPrimary',
  actionLinkHovered: 'palette.neutralDark',
  blockingBackground: '#FDE7E9',
  blockingIcon: '#FDE7E9',
  bodyBackground: 'palette.white',
  bodyBackgroundChecked: 'palette.neutralLight',
  bodyBackgroundHovered: 'palette.neutralLighter',
  bodyDivider: 'palette.neutralLight',
  bodyFrameBackground: 'palette.white',
  bodyFrameDivider: 'palette.neutralLight',
  bodyStandoutBackground: 'palette.neutralLighterAlt',
  bodySubtext: 'palette.neutralSecondary',
  bodyText: 'palette.neutralPrimary',
  bodyTextChecked: 'palette.black',
  buttonBackground: 'palette.white',
  buttonBackgroundChecked: 'palette.neutralTertiaryAlt',
  buttonBackgroundCheckedHovered: 'palette.neutralLight',
  buttonBackgroundDisabled: 'palette.neutralLighter',
  buttonBackgroundHovered: 'palette.neutralLighter',
  buttonBackgroundPressed: 'palette.neutralLight',
  buttonBorder: 'palette.neutralSecondaryAlt',
  buttonBorderDisabled: 'palette.neutralLighter',
  buttonText: 'palette.neutralPrimary',
  buttonTextChecked: 'palette.neutralDark',
  buttonTextCheckedHovered: 'palette.black',
  buttonTextDisabled: 'palette.neutralTertiary',
  buttonTextHovered: 'palette.neutralDark',
  buttonTextPressed: 'palette.neutralDark',
  cardStandoutBackground: 'palette.white',
  defaultStateBackground: 'palette.neutralLighterAlt',
  disabledBackground: 'palette.neutralLighter',
  disabledBodySubtext: 'palette.neutralTertiaryAlt',
  disabledBodyText: 'palette.neutralTertiary',
  disabledBorder: 'palette.neutralTertiaryAlt',
  disabledSubtext: 'palette.neutralQuaternary',
  disabledText: 'palette.neutralTertiary',
  errorBackground: '#FDE7E9',
  errorIcon: '#A80000',
  //errorText: ,
  focusBorder: 'palette.neutralSecondary',
  infoBackground: '#f3f2f1',
  infoIcon: '#605e5c',
  inputBackground: 'palette.white',
  inputBackgroundChecked: 'palette.themePrimary',
  inputBackgroundCheckedHovered: 'palette.themeDark',
  inputBorder: 'palette.neutralSecondary',
  inputBorderHovered: 'palette.neutralPrimary',
  inputFocusBorderAlt: 'palette.themePrimary',
  inputForegroundChecked: 'palette.white',
  inputIcon: 'palette.themePrimary',
  inputIconDisabled: 'palette.neutralTertiary',
  inputIconHovered: 'palette.themeDark',
  inputPlaceholderBackgroundChecked: 'palette.themeLighter',
  inputPlaceholderText: 'palette.neutralSecondary',
  inputText: 'palette.neutralPrimary',
  inputTextHovered: 'palette.neutralDark',
  link: 'palette.themePrimary',
  linkHovered: 'palette.themeDarker',
  listBackground: 'palette.white',
  listHeaderBackgroundHovered: 'palette.neutralLighter',
  listHeaderBackgroundPressed: 'palette.neutralLight',
  listItemBackgroundChecked: 'palette.neutralLight',
  listItemBackgroundCheckedHovered: 'palette.neutralQuaternaryAlt',
  listItemBackgroundHovered: 'palette.neutralLighter',
  listText: 'palette.neutralPrimary',
  listTextColor: 'palette.neutralPrimary',
  menuBackground: 'palette.white',
  menuDivider: 'palette.neutralTertiaryAlt',
  menuHeader: 'palette.themePrimary',
  menuIcon: 'palette.themePrimary',
  menuItemBackgroundChecked: 'palette.neutralLight',
  menuItemBackgroundHovered: 'palette.neutralLighter',
  menuItemBackgroundPressed: 'palette.neutralLight',
  menuItemText: 'palette.neutralPrimary',
  menuItemTextHovered: 'palette.neutralDark',
  messageLink: '#005A9E',
  messageLinkHovered: '#004578',
  messageText: '#323130',
  primaryButtonBackground: 'palette.themePrimary',
  primaryButtonBackgroundDisabled: 'palette.neutralLighter',
  primaryButtonBackgroundHovered: 'palette.themeDarkAlt',
  primaryButtonBackgroundPressed: 'palette.themeDark',
  primaryButtonBorder: 'transparent',
  primaryButtonText: 'palette.white',
  primaryButtonTextDisabled: 'palette.neutralQuaternary',
  primaryButtonTextHovered: 'palette.white',
  primaryButtonTextPressed: 'palette.white',
  severeWarningBackground: '#FED9CC',
  severeWarningIcon: '#D83B01',
  smallInputBorder: 'palette.neutralSecondary',
  successBackground: '#DFF6DD',
  successIcon: '#107C10',
  successText: '#107C10',
  variantBorder: 'palette.neutralLight',
  variantBorderHovered: 'palette.neutralTertiary',
  warningBackground: '#FFF4CE',
  warningHighlight: '#ffb900',
  warningIcon: '#797775',
  //warningText: ,
};

export const alias = {
  colorNeutralForeground1: 'grey[14]',
  colorNeutralForeground1Hover: 'grey[14]',
  colorNeutralForeground1Pressed: 'grey[14]',
  colorNeutralForeground1Selected: 'grey[14]',
  colorNeutralForeground2: 'grey[26]',
  colorNeutralForeground2Hover: 'grey[14]',
  colorNeutralForeground2Pressed: 'grey[14]',
  colorNeutralForeground2Selected: 'grey[14]',
  colorNeutralForeground2BrandHover: 'brand[80]',
  colorNeutralForeground2BrandPressed: 'brand[70]',
  colorNeutralForeground2BrandSelected: 'brand[80]',
  colorNeutralForeground3: 'grey[38]',
  colorNeutralForeground3Hover: 'grey[26]',
  colorNeutralForeground3Pressed: 'grey[26]',
  colorNeutralForeground3Selected: 'grey[26]',
  colorNeutralForeground3BrandHover: 'brand[80]',
  colorNeutralForeground3BrandPressed: 'brand[70]',
  colorNeutralForeground3BrandSelected: 'brand[80]',
  colorNeutralForeground4: 'grey[44]',
  colorNeutralForegroundDisabled: 'grey[74]',
  colorNeutralForegroundInvertedDisabled: 'whiteAlpha[40]',
  colorBrandForegroundLink: 'brand[70]',
  colorBrandForegroundLinkHover: 'brand[60]',
  colorBrandForegroundLinkPressed: 'brand[40]',
  colorBrandForegroundLinkSelected: 'brand[70]',
  colorCompoundBrandForeground1: 'brand[80]',
  colorCompoundBrandForeground1Hover: 'brand[70]',
  colorCompoundBrandForeground1Pressed: 'brand[60]',
  colorBrandForeground1: 'brand[80]',
  colorBrandForeground2: 'brand[70]',
  colorBrandForeground2Hover: 'brand[60]',
  colorBrandForeground2Pressed: 'brand[30]',
  colorNeutralForeground1Static: 'grey[14]',
  colorNeutralForegroundInverted: 'white',
  colorNeutralForegroundInvertedHover: 'white',
  colorNeutralForegroundInvertedPressed: 'white',
  colorNeutralForegroundInvertedSelected: 'white',
  colorNeutralForegroundOnBrand: 'white',
  colorNeutralForegroundInvertedLink: 'white',
  colorNeutralForegroundInvertedLinkHover: 'white',
  colorNeutralForegroundInvertedLinkPressed: 'white',
  colorNeutralForegroundInvertedLinkSelected: 'white',
  colorBrandForegroundInverted: 'brand[100]',
  colorBrandForegroundInvertedHover: 'brand[110]',
  colorBrandForegroundInvertedPressed: 'brand[100]',
  colorBrandForegroundOnLight: 'brand[80]',
  colorBrandForegroundOnLightHover: 'brand[70]',
  colorBrandForegroundOnLightPressed: 'brand[50]',
  colorBrandForegroundOnLightSelected: 'brand[60]',
  colorNeutralBackground1: 'white',
  colorNeutralBackground1Hover: 'grey[96]',
  colorNeutralBackground1Pressed: 'grey[88]',
  colorNeutralBackground1Selected: 'grey[92]',
  colorNeutralBackground2: 'grey[98]',
  colorNeutralBackground2Hover: 'grey[94]',
  colorNeutralBackground2Pressed: 'grey[86]',
  colorNeutralBackground2Selected: 'grey[90]',
  colorNeutralBackground3: 'grey[96]',
  colorNeutralBackground3Hover: 'grey[92]',
  colorNeutralBackground3Pressed: 'grey[84]',
  colorNeutralBackground3Selected: 'grey[88]',
  colorNeutralBackground4: 'grey[94]',
  colorNeutralBackground4Hover: 'grey[98]',
  colorNeutralBackground4Pressed: 'grey[96]',
  colorNeutralBackground4Selected: 'white',
  colorNeutralBackground5: 'grey[92]',
  colorNeutralBackground5Hover: 'grey[96]',
  colorNeutralBackground5Pressed: 'grey[94]',
  colorNeutralBackground5Selected: 'grey[98]',
  colorNeutralBackground6: 'grey[90]',
  colorNeutralBackgroundInverted: 'grey[38]',
  colorSubtleBackground: 'transparent',
  colorSubtleBackgroundHover: 'grey[96]',
  colorSubtleBackgroundPressed: 'grey[88]',
  colorSubtleBackgroundSelected: 'grey[92]',
  colorSubtleBackgroundLightAlphaHover: 'whiteAlpha[80]',
  colorSubtleBackgroundLightAlphaPressed: 'whiteAlpha[50]',
  colorSubtleBackgroundLightAlphaSelected: 'transparent',
  colorSubtleBackgroundInverted: 'transparent',
  colorSubtleBackgroundInvertedHover: 'blackAlpha[10]',
  colorSubtleBackgroundInvertedPressed: 'blackAlpha[30]',
  colorSubtleBackgroundInvertedSelected: 'blackAlpha[20]',
  colorTransparentBackground: 'transparent',
  colorTransparentBackgroundHover: 'transparent',
  colorTransparentBackgroundPressed: 'transparent',
  colorTransparentBackgroundSelected: 'transparent',
  colorNeutralBackgroundDisabled: 'grey[94]',
  colorNeutralBackgroundInvertedDisabled: 'whiteAlpha[10]',
  colorNeutralStencil1: 'grey[90]',
  colorNeutralStencil2: 'grey[98]',
  colorNeutralStencil1Alpha: 'blackAlpha[10]',
  colorNeutralStencil2Alpha: 'blackAlpha[5]',
  colorBrandBackground: 'brand[80]',
  colorBrandBackgroundHover: 'brand[70]',
  colorBrandBackgroundPressed: 'brand[40]',
  colorBrandBackgroundSelected: 'brand[60]',
  colorCompoundBrandBackground: 'brand[80]',
  colorCompoundBrandBackgroundHover: 'brand[70]',
  colorCompoundBrandBackgroundPressed: 'brand[60]',
  colorBrandBackgroundStatic: 'brand[80]',
  colorBrandBackground2: 'brand[160]',
  colorBrandBackground2Hover: 'brand[150]',
  colorBrandBackground2Pressed: 'brand[130]',
  colorBrandBackground3Static: 'brand[60]',
  colorBrandBackground4Static: 'brand[40]',
  colorBrandBackgroundInverted: 'white',
  colorBrandBackgroundInvertedHover: 'brand[160]',
  colorBrandBackgroundInvertedPressed: 'brand[140]',
  colorBrandBackgroundInvertedSelected: 'brand[150]',
  colorNeutralCardBackground: 'grey[98]',
  colorNeutralCardBackgroundHover: 'white',
  colorNeutralCardBackgroundPressed: 'grey[96]',
  colorNeutralCardBackgroundSelected: 'grey[92]',
  colorNeutralCardBackgroundDisabled: 'grey[94]',
  colorNeutralStrokeAccessible: 'grey[38]',
  colorNeutralStrokeAccessibleHover: 'grey[34]',
  colorNeutralStrokeAccessiblePressed: 'grey[30]',
  colorNeutralStrokeAccessibleSelected: 'brand[80]',
  colorNeutralStroke1: 'grey[82]',
  colorNeutralStroke1Hover: 'grey[78]',
  colorNeutralStroke1Pressed: 'grey[70]',
  colorNeutralStroke1Selected: 'grey[74]',
  colorNeutralStroke2: 'grey[88]',
  colorNeutralStroke3: 'grey[94]',
  colorNeutralStrokeSubtle: 'grey[88]',
  colorNeutralStrokeOnBrand: 'white',
  colorNeutralStrokeOnBrand2: 'white',
  colorNeutralStrokeOnBrand2Hover: 'white',
  colorNeutralStrokeOnBrand2Pressed: 'white',
  colorNeutralStrokeOnBrand2Selected: 'white',
  colorBrandStroke1: 'brand[80]',
  colorBrandStroke2: 'brand[140]',
  colorBrandStroke2Hover: 'brand[120]',
  colorBrandStroke2Pressed: 'brand[80]',
  colorBrandStroke2Contrast: 'brand[140]',
  colorCompoundBrandStroke: 'brand[80]',
  colorCompoundBrandStrokeHover: 'brand[70]',
  colorCompoundBrandStrokePressed: 'brand[60]',
  colorNeutralStrokeDisabled: 'grey[88]',
  colorNeutralStrokeInvertedDisabled: 'whiteAlpha[40]',
  colorTransparentStroke: 'transparent',
  colorTransparentStrokeInteractive: 'transparent',
  colorTransparentStrokeDisabled: 'transparent',
  colorNeutralStrokeAlpha2: 'whiteAlpha[20]',
  colorStrokeFocus1: 'white',
  colorStrokeFocus2: 'black',
  colorNeutralShadowAmbient: 'rgba(0,0,0,0.12)',
  colorNeutralShadowKey: 'rgba(0,0,0,0.14)',
  colorNeutralShadowAmbientLighter: 'rgba(0,0,0,0.06)',
  colorNeutralShadowKeyLighter: 'rgba(0,0,0,0.07)',
  colorNeutralShadowAmbientDarker: 'rgba(0,0,0,0.20)',
  colorNeutralShadowKeyDarker: 'rgba(0,0,0,0.24)',
  colorBrandShadowAmbient: 'rgba(0,0,0,0.30)',
  colorBrandShadowKey: 'rgba(0,0,0,0.25)',
};

export const colorMap: ColorMap = {
  v8Semantic: semanticColors,
  v9Alias: alias,
};
